import api from '../../../api';
import { message } from 'antd';
export default {
  namespace: 'basicInfoInProM',

  state: {},

  effects: {
    //  获取基本信息数据
    *getBasicInfoData({ payload, callback }, { call, put }) {
      const res = yield call(api.profitOverview.getBasicInfoData, payload);
      if (res && res.code == 0) {
        res.data &&
          res.data.forEach((item) => {
            // 处理精度
            if (
              item.title == '7日年化收益' ||
              item.title == '资产份额(份)' ||
              item.title == '资产净值(元)' ||
              item.title == '总资产(元)' ||
              item.title == '杠杆率(%)' ||
              item.title == '最大回撤(%)' ||
              item.title == '夏普比率'
            ) {
              // 保留2位
              item.fix = 2;
            } else {
              item.fix = 4;
            }
            // 判断是数额还是比率
            if (item.title == '杠杆率(%)' || item.title == '7日年化收益' || item.title == '最大回撤(%)' || item.title == '静态收益率(%)' || item.title == '到期收益率(%)') {
              item.dataType = 'rate';
            } else {
              item.dataType = 'numb';
            }
          });
        let tempArr = [];
        res.data &&
          res.data.forEach((item) => {
            tempArr.push({
              title: item.title,
              result: item.total,
              changed: item.diff,
              type: item.up === true ? '1' : item.up === false ? '2' : '3',
              dataType: item.dataType,
              fix: item.fix,
            });
          });
        callback('success', tempArr);
      } else {
        message.error(res?.message || '获取基本信息数据失败，请联系管理员修复。');
        console.error(`获取基本信息数据失败，失败原因：${res?.message}`, '接口名称：queryBasicInfo 接口：productOverView/queryBasicInfo');
      }
    },
  },

  reducers: {
    save(state, { payload }) {
      return {
        ...state,
        ...payload,
      };
    },
  },
};
